package com.lancoo.cvas.mapper;

import com.lancoo.cvas.config.MybatisRedisCache;
import com.lancoo.cvas.entity.ScheduleConflictInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lancoo.cvas.entity.TeachingClassWeek;
import org.apache.ibatis.annotations.CacheNamespace;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;
import java.util.List;

/**
 * 排课冲突信息
 * 
 * @author liufeng
 * @email 1037383243@qq.com
 * @date 2023-12-04 11:54:00
 */
@CacheNamespace(implementation = MybatisRedisCache.class, eviction = MybatisRedisCache.class)
public interface ScheduleConflictInfoMapper extends BaseMapper<ScheduleConflictInfo> {

    int addBatch(@Param("scheduleConflictInfoCollection") Collection<ScheduleConflictInfo> scheduleConflictInfoCollection);

    List<ScheduleConflictInfo> getWithRoomName(List<Long> teachingClassIds, int deleted);

    List<ScheduleConflictInfo> getDistinctConflictByWeeks(List<TeachingClassWeek> weeks);
}
